﻿Imports Capa_de_Acceso_a_Datos
Public Class frmCargarErrores
    Private tablaErroresReceta As DataTable
    Public frmLlamada As String

    'Public Sub New(ByRef tErrores As DataTable)
    '    tablaErroresReceta = tErrores
    '    InitializeComponent()
    'End Sub

    Private Sub CargarErrores_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


        With dgvErroresReceta
            ' alternar color de filas  
            .AlternatingRowsDefaultCellStyle.BackColor = Color.FloralWhite
            .DefaultCellStyle.BackColor = Color.Beige
        End With

        cargarComboTipoErrorReceta()
        cargarGrillaErrores()
    End Sub

    Private Sub cargarGrillaErrores()
        Select Case frmLlamada
            Case "frmCargaRecetarioSolidario"
                For Each fila As DataRow In frmCargaRecetarioSolidario.tablaErroresReceta.Rows
                    dgvErroresReceta.Rows.Add(fila("ErrorRecetaId"), fila("ErrorRecetaMotivo"), fila("ErrorRecetaCorreccion"), fila("ErrorRecetaCorregido"), fila("EmpleadoId"), fila("TipoErrorRecetaId"), fila("RecetaId"), fila("TipoErrorRecetaNombre"), fila("UbicacionErrorRecetaNombre"))
                Next
            Case "frmCargaPAMI"
                For Each fila As DataRow In frmCargaPAMI.tablaErroresReceta.Rows
                    dgvErroresReceta.Rows.Add(fila("ErrorRecetaId"), fila("ErrorRecetaMotivo"), fila("ErrorRecetaCorreccion"), fila("ErrorRecetaCorregido"), fila("EmpleadoId"), fila("TipoErrorRecetaId"), fila("RecetaId"), fila("TipoErrorRecetaNombre"), fila("UbicacionErrorRecetaNombre"))
                Next
            Case "frmCargarReceta"
                For Each fila As DataRow In frmCargarReceta.tablaErroresReceta.Rows
                    dgvErroresReceta.Rows.Add(fila("ErrorRecetaId"), fila("ErrorRecetaMotivo"), fila("ErrorRecetaCorreccion"), fila("ErrorRecetaCorregido"), fila("EmpleadoId"), fila("TipoErrorRecetaId"), fila("RecetaId"), fila("TipoErrorRecetaNombre"), fila("UbicacionErrorRecetaNombre"))
                Next
        End Select
        
    End Sub

    Private Sub cargarComboTipoErrorReceta()
        cboTipoErrorReceta.DataSource = TipoErrorRecetaDAO.obtenerTiposErroresReceta(0)
        cboTipoErrorReceta.DisplayMember = "TipoErrorRecetaNombre"
        cboTipoErrorReceta.ValueMember = "TipoErrorRecetaId"
        cboTipoErrorReceta.SelectedIndex = 0
    End Sub

    Private Sub limpiarCampos()
        cboTipoErrorReceta.SelectedIndex = 0
        txaMotivo.Text = ""
        chkCorregido.Checked = False
        txaCorreccion.Text = ""
        txaCorreccion.Enabled = False
    End Sub

    Private Sub btnCargar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCargar.Click
        dgvErroresReceta.Rows.Add(-1, txaMotivo.Text, txaCorreccion.Text, chkCorregido.Checked, 1, cboTipoErrorReceta.SelectedValue, -1, cboTipoErrorReceta.Text, TipoErrorRecetaDAO.obtenerUbicacion(cboTipoErrorReceta.SelectedValue))
        limpiarCampos()
    End Sub

    Private Sub chkCorregido_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkCorregido.CheckedChanged
        If chkCorregido.Checked Then
            txaCorreccion.Enabled = True
        Else
            txaCorreccion.Enabled = False
        End If
    End Sub

    Private Sub EliminarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EliminarToolStripMenuItem.Click

        'Eliminamos el error seleccionado
        If dgvErroresReceta.SelectedRows.Count = 1 Then
            dgvErroresReceta.Rows.Remove(dgvErroresReceta.SelectedRows(0))
        End If
    End Sub

    Private Sub btnAceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAceptar.Click
        'Limpiamos la tabla y agregamos los errores
        'tablaErroresReceta = ErrorRecetaDAO.grillaErrorReceta(0 - 1)
        
        Select Case frmLlamada
            Case "frmCargaRecetarioSolidario"
                frmCargaRecetarioSolidario.tablaErroresReceta.Rows.Clear()
                For Each fila As DataGridViewRow In dgvErroresReceta.Rows
                    Dim s As String = fila.Cells("UbicacionErrorRecetaNombre").Value
                    frmCargaRecetarioSolidario.tablaErroresReceta.Rows.Add(fila.Cells("ErrorRecetaId").Value, fila.Cells("ErrorRecetaMotivo").Value, fila.Cells("ErrorRecetaCorreccion").Value, fila.Cells("ErrorRecetaCorregido").Value, fila.Cells("EmpleadoId").Value, fila.Cells("TipoErrorRecetaId").Value, fila.Cells("RecetaId").Value, fila.Cells("TipoErrorRecetaNombre").Value, fila.Cells("UbicacionErrorRecetaNombre").Value)
                Next
            Case "frmCargaPAMI"
                frmCargaPAMI.tablaErroresReceta.Rows.Clear()
                For Each fila As DataGridViewRow In dgvErroresReceta.Rows
                    Dim s As String = fila.Cells("UbicacionErrorRecetaNombre").Value
                    frmCargaPAMI.tablaErroresReceta.Rows.Add(fila.Cells("ErrorRecetaId").Value, fila.Cells("ErrorRecetaMotivo").Value, fila.Cells("ErrorRecetaCorreccion").Value, fila.Cells("ErrorRecetaCorregido").Value, fila.Cells("EmpleadoId").Value, fila.Cells("TipoErrorRecetaId").Value, fila.Cells("RecetaId").Value, fila.Cells("TipoErrorRecetaNombre").Value, fila.Cells("UbicacionErrorRecetaNombre").Value)
                Next
            Case "frmCargarReceta"
                frmCargarReceta.tablaErroresReceta.Rows.Clear()
                For Each fila As DataGridViewRow In dgvErroresReceta.Rows
                    Dim s As String = fila.Cells("UbicacionErrorRecetaNombre").Value
                    frmCargarReceta.tablaErroresReceta.Rows.Add(fila.Cells("ErrorRecetaId").Value, fila.Cells("ErrorRecetaMotivo").Value, fila.Cells("ErrorRecetaCorreccion").Value, fila.Cells("ErrorRecetaCorregido").Value, fila.Cells("EmpleadoId").Value, fila.Cells("TipoErrorRecetaId").Value, fila.Cells("RecetaId").Value, fila.Cells("TipoErrorRecetaNombre").Value, fila.Cells("UbicacionErrorRecetaNombre").Value)
                Next
        End Select

        Me.Dispose()
    End Sub

End Class